package com.wmh.baseservice.operationaid.pojo.vo.keyWordUsageRecord;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @author 谢骏
 * @date 2023/6/24 9:38
 **/
@Data
@Accessors(chain = true)
@ApiModel(value = "关键词用途记录标记请求体")
public class KeyWordUsageRecordMaskReqVO implements Serializable {

    @ApiModelProperty(value = "关键词数据列表,元素 : {name:关键词名称,categoryName: 品类名称}")
    @NotBlank(message = "未提交关键词数据")
    @Size(min=3,message = "未提交关键词数据")
    private String keyWordJsonList;

    @ApiModelProperty(value = "品类名称")
    @NotBlank(message = "未提交品类名称")
    private String categoryName;

    @ApiModelProperty(value = "标记选项 true 标题 false 取消标记")
    @NotNull(message = "未提交标记功能选项")
    private Boolean markSwitch;

    @ApiModelProperty("分组id")
    private Long groupId;

    @ApiModelProperty(value = "直通车添加标记")
    private Boolean isAppendZtc;

    @ApiModelProperty(value = "生成标题标记")
    private Boolean isGenerateTitle;

    @ApiModelProperty(value = "生成补单计划标记")
    private Boolean isGenerateOrderPlan;

    static final long serialVersionUID = 42L;

    @Data
    @EqualsAndHashCode(callSuper = true)
    @Accessors(chain = true)
    @ApiModel(value = "关键词字段(用于解析 keyWordJsonList字段)")
    public static class KeyWord extends ExponentField implements Serializable{

        @ApiModelProperty(value = "名称")
        private String name;

        static final long serialVersionUID = 42L;
    }
}